#pragma once
#include "SocketCompat.h"

void socketStickyPacketServiceDemo();

void socketStickyPacketClientDemo();

/////////////////////////////////
//////////// 服务器 /////////////
////////////////////////////////
// 文件描述符（File descriptor）简写 FD。即我们说的SOCKET，本质上SOCKET其实就是两块负责读写的内存，使用FD操作，在linux下叫fd是int型，在windows下被命名为SOCKET
// int bindSocket(int fd, unsigned short port);
// int bindSocket(SOCKET socket, unsigned short port);
// 绑定+监听
int setListen(SOCKET serverSocket, unsigned short port);
SOCKET acceptConn(SOCKET serverSocket, struct sockaddr_in *clientAddr);


/////////////////////////////////
//////////// 客户端 /////////////
////////////////////////////////
int connectToHost(SOCKET toSocket, const char* ip, unsigned short port);


/////////////////////////////////
//////////// 公共的 /////////////
////////////////////////////////
SOCKET createSocket();
int sendMsg(SOCKET toSocket, const char* msg, int len);
int recvMsg(SOCKET fromSocket, char* msg, int size);
int closeSocket(SOCKET socket);